<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8" />
        <title>Using require.js - Editor.md examples</title>
        <link rel="stylesheet" href="css/style.css" />
        <link rel="stylesheet" href="../lib/codemirror/codemirror.min.css" /> 
        <!-- <link rel="stylesheet" href="../lib/codemirror/addon/fold/foldgutter.css" /> -->
        <link rel="stylesheet" href="../css/editormd.min.css" />
        <link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" type="image/x-icon" />
    </head>
    <body>
        <div id="layout">
            <header>
                <h1>Using require.js</h1>
                <ul style="margin: 10px 0 0 18px;">
                    <li>Enable HTML tags decode</li>
                    <li>Enable TeX, Flowchart, Sequence Diagram, Emoji, FontAwesome, Task lists</li>
                    <li>Enable Image upload</li>
                    <li>Enable [TOCM], Search Replace, Code fold</li>
                </ul>        
            </header>
            <div class="btns">
                <button id="show-btn">Show editor</button>
                <button id="hide-btn">Hide editor</button>
                <button id="get-md-btn">Get Markdown</button>
                <button id="get-html-btn">Get HTML</button>
                <button id="watch-btn">Watch</button>
                <button id="unwatch-btn">Unwatch</button>
                <button id="preview-btn">Preview HTML (Press Shift + ESC cancel)</button>
                <button id="fullscreen-btn">Fullscreen (Press ESC cancel)</button>
                <button id="show-toolbar-btn">Show toolbar</button>
                <button id="close-toolbar-btn">Hide toolbar</button>
                <button id="toc-menu-btn">ToC Dropdown menu</button>
                <button id="toc-default-btn">ToC default</button>
            </div>
            <div id="test-editormd"></div>
        </div>   
        <script src="js/require.min.js"></script>
        <script type="text/javascript">            
            requirejs.config({
                baseUrl: "../lib/",
                paths: {
                    jquery          : "../examples/js/jquery.min",
                    marked          : "marked.min",
                    prettify        : "prettify.min",
                    raphael         : "raphael.min",
                    underscore      : "underscore.min",
                    flowchart       : "flowchart.min", 
                    jqueryflowchart : "jquery.flowchart.min", 
                    sequenceDiagram : "sequence-diagram.min",
                    katex           : "//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min",
                    editormd        : "../editormd.amd" // Using Editor.md amd version for Require.js
                },
                waitSeconds: 30
            });
            
            var deps = [
                "editormd", 
                "../languages/en", 
                "../plugins/link-dialog/link-dialog",
                "../plugins/reference-link-dialog/reference-link-dialog",
                "../plugins/image-dialog/image-dialog",
                "../plugins/code-block-dialog/code-block-dialog",
                "../plugins/table-dialog/table-dialog",
                "../plugins/emoji-dialog/emoji-dialog",
                "../plugins/goto-line-dialog/goto-line-dialog",
                "../plugins/help-dialog/help-dialog",
                "../plugins/html-entities-dialog/html-entities-dialog", 
                "../plugins/preformatted-text-dialog/preformatted-text-dialog"
            ];
            
            var testEditor;
                
            require(deps, function(editormd) {
                
                // if enable codeFold
                // or <link rel="stylesheet" href="../lib/codemirror/addon/fold/foldgutter.css" />
                editormd.loadCSS("../lib/codemirror/addon/fold/foldgutter");
                
                $.get('test.md', function(md) {
                    testEditor = editormd("test-editormd", {
                        width: "90%",
                        height: 640,
                        path : '../lib/',
                        markdown : md,
                        codeFold : true,
                        searchReplace : true,
                        saveHTMLToTextarea : true,                // 保存HTML到Textarea
                        htmlDecode : "style,script,iframe|on*",       // 开启HTML标签解析，为了安全性，默认不开启    
                        emoji : true,
                        taskList : true,
                        tex : true,
                        tocm            : true,         // Using [TOCM]
                        autoLoadModules : false,
                        previewCodeHighlight : true,
                        flowChart : true,
                        sequenceDiagram : true,
                        //dialogLockScreen : false,   // 设置弹出层对话框不锁屏，全局通用，默认为true
                        //dialogShowMask : false,     // 设置弹出层对话框显示透明遮罩层，全局通用，默认为true
                        //dialogDraggable : false,    // 设置弹出层对话框不可拖动，全局通用，默认为true
                        //dialogMaskOpacity : 0.4,    // 设置透明遮罩层的透明度，全局通用，默认值为0.1
                        //dialogMaskBgColor : "#000", // 设置透明遮罩层的背景颜色，全局通用，默认为#fff
                        imageUpload : true,
                        imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
                        imageUploadURL : "./php/upload.php",
                        onload : function() {
                            console.log('onload', this);
                            //this.fullscreen();
                            //this.unwatch();
                            //this.watch().fullscreen();

                            //this.setMarkdown("#PHP");
                            //this.width("100%");
                            //this.height(480);
                            //this.resize("100%", 640);
                        }
                    });
                });

                $("#show-btn").bind('click', function(){
                    testEditor.show();
                });

                $("#hide-btn").bind('click', function(){
                    testEditor.hide();
                });

                $("#get-md-btn").bind('click', function(){
                    alert(testEditor.getMarkdown());
                });

                $("#get-html-btn").bind('click', function() {
                    alert(testEditor.getHTML());
                });                

                $("#watch-btn").bind('click', function() {
                    testEditor.watch();
                });                 

                $("#unwatch-btn").bind('click', function() {
                    testEditor.unwatch();
                });              

                $("#preview-btn").bind('click', function() {
                    testEditor.previewing();
                });

                $("#fullscreen-btn").bind('click', function() {
                    testEditor.fullscreen();
                });

                $("#show-toolbar-btn").bind('click', function() {
                    testEditor.showToolbar();
                });

                $("#close-toolbar-btn").bind('click', function() {
                    testEditor.hideToolbar();
                });
                
                $("#toc-menu-btn").click(function(){
                    testEditor.config({
                        tocDropdown   : true,
                        tocTitle      : "目录 Table of Contents",
                    });
                });
                
                $("#toc-default-btn").click(function() {
                    testEditor.config("tocDropdown", false);
                });
            });
        </script>
    </body>
</html>